This topic describes how to use the software to extract and apply a custom DPD algorithm. The user-defined algorithm can be CSV/text file or a MATLAB script. MATLAB scripts require the MATLAB run-time environment and license installed on your PC.
Under the System menu, select PA Test.
Turn off Envelope Tracking.
Click the Waveform block and select either User defined or MATLAB Variable as the Waveform Type. If you selected User defined, then set the File Type to CSV/Text and click the File Name field to navigate to the text file you want to use.
For custom DPD algorithms, Preloaded and Signal Studio are not supported choices for the Waveform Type.
If you selected MATLAB Variable as the Waveform Type, click menu Tools > Start MATLAB. (MATLAB will be launched by the N7614C software.) After MATLAB is started, then use MATLAB to generate an I/Q waveform and the format is a complex array.
Set the instrument IP addresses under the Signal Generator and Signal Analyzer blocks. At first release for Custom DPD we only support N5172B/N5182B/N5172B as signal generator and N9020A/N9030A as signal analyzer. Set the frequency and amplitude of the Signal Generator.
For MATLAB, complete the remaining steps.
Click Tools > Start MATLAB (This requires a valid MATLAB license installed on your PC.)
Switch to MATLAB GUI and create a Math Script .m file under MATLAB current working folder (for example, dpd.m). Below is a sample memory-less DPD algorithm. Copy the code into dpd.m file and save the file.
function predistorted = dpd(xx, zz, y)
g = rms(y) / rms(zz);
yy = y / g;
Y = [yy, yy.*abs(yy), yy.*(abs(yy)).^2, yy.*(abs(yy)).^3, yy.*(abs(yy)).^4, yy.*(abs(yy)).^5];
a = Y \ zz;
predistorted = [xx, xx.*abs(xx), xx.*(abs(xx)).^2, xx.*(abs(xx)).^3, xx.*(abs(xx)).^4, xx.*(abs(xx)).^5] * a;
For custom DPD algorithms, the parameter names of the MATLAB command line should match the input/output variable names.
In the N7614C software, click the Digital Predistortion block.
Set the PA Model Type to User-defined MATLAB Script.